a11y: Change default accessible role
authorEmmanuele Bassi <ebassi@gnome.org>
Fri, 17 Jul 2020 16:43:01 +0000 (17:43 +0100)
committerEmmanuele Bassi <ebassi@gnome.org>
Sun, 26 Jul 2020 19:31:15 +0000 (20:31 +0100)
Only GtkWidget should use GTK_ACCESSIBLE_ROLE_WIDGET as its default
accessible role; the default for GtkAccessible and GtkATContext should
be GTK_ACCESSIBLE_ROLE_NONE, meaning "an element whose implicit native
role semantics will not be mapped to the accessibility API", according
to the WAI-ARIA specification.

gtk/gtkaccessible.c
gtk/gtkatcontext.c

index 4f90d04e24c9c2a08989be6a7e5a9ca3dab2b673..2638abcd1cb9a059d2b127cf5bdab999d9036a3f 100644 (file)
@@ -60,7 +60,7 @@ gtk_accessible_default_init (GtkAccessibleInterface *iface)
                        "Accessible Role",
                        "The role of the accessible object",
                        GTK_TYPE_ACCESSIBLE_ROLE,
-                       GTK_ACCESSIBLE_ROLE_WIDGET,
+                       GTK_ACCESSIBLE_ROLE_NONE,
                        G_PARAM_READWRITE |
                        G_PARAM_CONSTRUCT_ONLY |
                        G_PARAM_STATIC_STRINGS);
@@ -95,11 +95,11 @@ gtk_accessible_get_at_context (GtkAccessible *self)
 GtkAccessibleRole
 gtk_accessible_get_accessible_role (GtkAccessible *self)
 {
-  g_return_val_if_fail (GTK_IS_ACCESSIBLE (self), GTK_ACCESSIBLE_ROLE_WIDGET);
+  g_return_val_if_fail (GTK_IS_ACCESSIBLE (self), GTK_ACCESSIBLE_ROLE_NONE);
 
   GtkATContext *context = gtk_accessible_get_at_context (self);
   if (context == NULL)
-    return GTK_ACCESSIBLE_ROLE_WIDGET;
+    return GTK_ACCESSIBLE_ROLE_NONE;
 
   return gtk_at_context_get_accessible_role (context);
 }
index 2fa6be85067e2d622399ecae152fc97f69cec66b..9affb1f134d963f39d378ed82fb6bd5b839860bc 100644 (file)
@@ -144,7 +144,7 @@ gtk_at_context_class_init (GtkATContextClass *klass)
                        "Accessible Role",
                        "The accessible role of the AT context",
                        GTK_TYPE_ACCESSIBLE_ROLE,
-                       GTK_ACCESSIBLE_ROLE_WIDGET,
+                       GTK_ACCESSIBLE_ROLE_NONE,
                        G_PARAM_READWRITE |
                        G_PARAM_CONSTRUCT_ONLY |
                        G_PARAM_STATIC_STRINGS);
@@ -281,7 +281,7 @@ gtk_accessible_state_get_attribute_name (GtkAccessibleState state)
 static void
 gtk_at_context_init (GtkATContext *self)
 {
-  self->accessible_role = GTK_ACCESSIBLE_ROLE_WIDGET;
+  self->accessible_role = GTK_ACCESSIBLE_ROLE_NONE;
 
   self->properties =
     gtk_accessible_attribute_set_new (N_PROPERTIES,
@@ -324,7 +324,7 @@ gtk_at_context_get_accessible (GtkATContext *self)
 GtkAccessibleRole
 gtk_at_context_get_accessible_role (GtkATContext *self)
 {
-  g_return_val_if_fail (GTK_IS_AT_CONTEXT (self), GTK_ACCESSIBLE_ROLE_WIDGET);
+  g_return_val_if_fail (GTK_IS_AT_CONTEXT (self), GTK_ACCESSIBLE_ROLE_NONE);
 
   return self->accessible_role;
 }